// pages/home/home.js
const util = require("../../utils/util");
const myRequest = require("../../utils/myRequest");

var app =getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone:"",           // 登录账号
    password:"",        // 登录密码
    rememberPswd:true,  // 是否记住密码
    isPswdLogin:true,   // 是否密码登录
    showPswd:true,      // 是否显示密码
    loginTypeText:"验证码登录",
    
    getCode_verCode:"",         // 验证码
    getCode_title:"获取验证码",
    getCode_bgColor:"#4DD4D4",  // 背景颜色
    getCode_disabled: false,    // 是否可以点击
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let loginRes = wx.getStorageSync('XL_LoginInfo');
    console.log('上次登录信息:'+loginRes);
    if (loginRes) {
      let jsonInfo = JSON.parse(loginRes);
      this.setData({
        phone:jsonInfo['phone'],
        password:jsonInfo['password'],
        rememberPswd:jsonInfo['rememberPswd'],
      })
    }
  },
  // 自定义按钮事件
  loginButtonClick: function() {
    let phone =this.data.phone;
    if (phone.length === 0) {
      wx.showToast({
        title: '请输入登录手机号',
        icon: "none",
      })
      return;
    }
    if (!util.checkPhoneNumber(phone)) {
      wx.showToast({
        title: '输入手机号不合法',
        icon: "none",
      })
      return;
    }
    let pswd =this.data.password;
    if (pswd.length === 0) {
      wx.showToast({
        title: '请输入登录密码',
        icon: "none",
      })
      return;
    }
    let that = this;
    let paramet = {"phone":phone,
                   "password":pswd};
    myRequest.postRequestData("api/login", paramet, (isSuccess, res) => {
      if (isSuccess) {
        let userInfo =res.data;
        let token =userInfo['token'];
        // 保存token
        wx.setStorageSync('userToken', token);
        // 保存账号密码
        paramet['rememberPswd'] = that.data.rememberPswd;
        if (!that.data.rememberPswd) {
          paramet["password"] = '';
        }
        wx.setStorage({
          data: JSON.stringify(paramet),
          key: 'XL_LoginInfo',
        });
        // 同步数据
        app.globalData.token =token;
        app.globalData.userInfo =userInfo;
        // 进入主页
        wx.reLaunch({
          url:"../homeMap/map",
        })
      } else {
        if (res.data) {
          wx.showToast({
            title: res.data['desc'],
          })
        } else {
          wx.showToast({
            title: "请求失败! 请稍后再试",
          })
        }
        console.log('请求失败:'+ res);
      }
    });
  },
  // 显示密码
  showPswdClick: function() {    
    this.data.showPswd = !this.data.showPswd;
    this.setData({
      showPswd:this.data.showPswd,
    });
  },
  // 发送验证码
  sendCodeBtnClick:function() {
    let title =this.data.getCode_title;
    if (title === "获取验证码") {
      var times = 0;       var that = this;
      var i = setInterval(function() {
        times++
        if (times >= 60) {
          that.setData({
            getCode_bgColor: "#4DD4D4",
            getCode_disabled: false,
            getCode_title: "获取验证码"
          })
          clearInterval(i)
        } else {
          that.setData({
            getCode_disabled: true,
            getCode_bgColor: "#C1EDED",
            getCode_title: "重新获取" + (60-times) + "s"
          })
        }
      }, 1000)
    }
  },
  // 切换登录方式
  codeLoginBtnClick: function() {
    this.data.isPswdLogin = !this.data.isPswdLogin;
    this.setData({
      loginTypeText:this.data.isPswdLogin?"验证码登录":"密码登录",
      isPswdLogin:this.data.isPswdLogin,
    });
  },
  inputPhoneChange: function(options) {
    this.data.phone =options.detail.value; 
  },
  // 监听密码输入
  inputPswdChange: function(options) {
    this.setData({
      password:options.detail.value,
    });
  },
  gotoRegisterClick: function() {
    wx.navigateTo({
      url: '../register/register'
    })
  },
  // 记住密码
  rememberPswdBtnClick: function() {
    this.setData({
      rememberPswd:!this.data.rememberPswd,
    })
  },
  // 服务协议
  serviceAgreementClick: function() {
    wx.navigateTo({
      url: '../webView/webview'
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
})